/**
 * @project SimulationSystem
 * @file GuiGlobal.h
 * @author rui.liang (rui.liang@ruhnix.com)
 * @date 25-5-11
 *
 * @copyright Copyright (c) 2025 Ruhnix
 *
 * @par change log
 * <table>
 * <tr><th>Date       <th>Version  <th>Author       <th>Description
 * <tr><td>25-5-11 <td>v1.0     <td>liangrui     <td>create file
 * </table>
 */

#pragma once

// Detect platform
#if defined(_WIN32) || defined(_WIN64)
#define LIBGUI_PLATFORM_WINDOWS
#else
#define LIBGUI_PLATFORM_UNIX
#endif

// Export/import logic
#if defined(LIBGUI_LIBRARY) // Defined when building the DLL/shared lib
#if defined(LIBGUI_PLATFORM_WINDOWS)
#define LIBGUI_EXPORT __declspec(dllexport)
#else
#define LIBGUI_EXPORT __attribute__((visibility("default")))
#endif
#else // When used by external target
#if defined(LIBGUI_PLATFORM_WINDOWS)
#define LIBGUI_EXPORT __declspec(dllimport)
#else
#define LIBGUI_EXPORT
#endif
#endif
